import java.awt.BorderLayout;
import java.awt.Color;
import java.util.Vector;

import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;

import javax.swing.WindowConstants;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.SwingUtilities;


public class VistaListado extends javax.swing.JFrame {
	private JPanel jPanel1;
	private JTable Tabla;
	
	public VistaListado(Seccion seccion, int tipo)
	{
		super();
		initGUI(seccion, tipo);
	}	
	
		
	public void listados(Seccion seccion, int tipo)
	{
		
		Tabla = new JTable(seccion.getAlumno().size(),8);
		jPanel1.add(Tabla);
		
		if (tipo == 0)//por cedula
		{					
			
			for(int i = 0; i<seccion.getAlumno().size(); i++)
			{	
				
				Tabla.setValueAt(seccion.getAlumno().elementAt(i).getCedula(), i, 0);
				Tabla.setValueAt(seccion.getAlumno().elementAt(i).getNombre(), i, 1);
				Tabla.setValueAt(seccion.getAlumno().elementAt(i).getApellido(), i, 2);
				
				Tabla.setValueAt(seccion.getAlumno().elementAt(i).getNota1(), i, 3);
				Tabla.setValueAt(seccion.getAlumno().elementAt(i).getNota2(), i, 4);
				Tabla.setValueAt(seccion.getAlumno().elementAt(i).getNota3(), i, 5);
				Tabla.setValueAt(seccion.getAlumno().elementAt(i).getNotaFinal(), i, 6);
				Tabla.setValueAt(seccion.getAlumno().elementAt(i).getEstado(), i, 7);
				//Tabla.setForeground(Color.green);
				//Tabla.setBackground(Color.YELLOW.blue);
				
			}
		
		}
		
		else if (tipo == 1)
		{
			
			
			for(int i = 0; i<seccion.getAlumno().size(); i++)
			{						
				Tabla.setValueAt(seccion.getAlumno().elementAt(i).getCedula(), i, 0);
				Tabla.setValueAt(seccion.getAlumno().elementAt(i).getNombre(), i, 1);
				Tabla.setValueAt(seccion.getAlumno().elementAt(i).getApellido(), i, 2);
				
				Tabla.setValueAt(seccion.getAlumno().elementAt(i).getNota1(), i, 3);
				Tabla.setValueAt(seccion.getAlumno().elementAt(i).getNota2(), i, 4);
				Tabla.setValueAt(seccion.getAlumno().elementAt(i).getNota3(), i, 5);
				Tabla.setValueAt(seccion.getAlumno().elementAt(i).getNotaFinal(), i, 6);
				Tabla.setValueAt(seccion.getAlumno().elementAt(i).getEstado(), i, 7);
				//Tabla.setForeground(Color.green);
				//Tabla.setBackground(Color.YELLOW.blue);
			}
		}	
			
		else if (tipo == 3)
			{			
							
				Vector<Alumno> copiaSeccion = new Vector();
				for(int k=0; k < seccion.getAlumno().size();k++)
				{
					if (seccion.getAlumno().elementAt(k).getEstado().equals("Aprobado"))
					{
						Alumno alumno2 = new Alumno (seccion.getAlumno().elementAt(k).getNombre(), seccion.getAlumno().elementAt(k).getApellido(), seccion.getAlumno().elementAt(k).getCedula(), seccion.getAlumno().elementAt(k).getNota1(), seccion.getAlumno().elementAt(k).getNota2(),seccion.getAlumno().elementAt(k).getNota3(),seccion.getAlumno().elementAt(k).getNotaFinal(), seccion.getAlumno().elementAt(k).getEstado());					
						copiaSeccion.add(alumno2);
					}
				}
				
				
				for(int i = 0; i<copiaSeccion.size(); i++)
					{
						Tabla.setValueAt(copiaSeccion.elementAt(i).getCedula(), i, 0);					
						Tabla.setValueAt(copiaSeccion.elementAt(i).getNombre(), i, 1);
						Tabla.setValueAt(copiaSeccion.elementAt(i).getApellido(), i, 2);						
						Tabla.setValueAt(copiaSeccion.elementAt(i).getNota1(), i, 3);
						Tabla.setValueAt(copiaSeccion.elementAt(i).getNota2(), i, 4);
						Tabla.setValueAt(copiaSeccion.elementAt(i).getNota3(), i, 5);
						Tabla.setValueAt(copiaSeccion.elementAt(i).getNotaFinal(), i, 6);
						Tabla.setValueAt(copiaSeccion.elementAt(i).getEstado(), i, 7);
					}
					
		}
		
		else if (tipo == 4)
		{			
						
			Vector<Alumno> copiaSeccion = new Vector();
			for(int k=0; k < seccion.getAlumno().size();k++)
			{
				if (seccion.getAlumno().elementAt(k).getEstado().equals("Reprobado"))
				{
					Alumno alumno2 = new Alumno (seccion.getAlumno().elementAt(k).getNombre(), seccion.getAlumno().elementAt(k).getApellido(), seccion.getAlumno().elementAt(k).getCedula(), seccion.getAlumno().elementAt(k).getNota1(), seccion.getAlumno().elementAt(k).getNota2(),seccion.getAlumno().elementAt(k).getNota3(),seccion.getAlumno().elementAt(k).getNotaFinal(), seccion.getAlumno().elementAt(k).getEstado());					
					copiaSeccion.add(alumno2);
				}
			}
			
			
			for(int i = 0; i<copiaSeccion.size(); i++)
				{
					Tabla.setValueAt(copiaSeccion.elementAt(i).getCedula(), i, 0);					
					Tabla.setValueAt(copiaSeccion.elementAt(i).getNombre(), i, 1);
					Tabla.setValueAt(copiaSeccion.elementAt(i).getApellido(), i, 2);						
					Tabla.setValueAt(copiaSeccion.elementAt(i).getNota1(), i, 3);
					Tabla.setValueAt(copiaSeccion.elementAt(i).getNota2(), i, 4);
					Tabla.setValueAt(copiaSeccion.elementAt(i).getNota3(), i, 5);
					Tabla.setValueAt(copiaSeccion.elementAt(i).getNotaFinal(), i, 6);
					Tabla.setValueAt(copiaSeccion.elementAt(i).getEstado(), i, 7);
				}
				
	}
		
		//Tabla.setBounds(44, 76, 289, 118);		
		JScrollPane jScrollPane = new JScrollPane(Tabla);
		this.add(jScrollPane);
	}
	
	private void initGUI(Seccion seccion, int tipo) {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			{				
				jPanel1 = new JPanel();
				getContentPane().add(jPanel1, BorderLayout.CENTER);
				jPanel1.setLayout(null);				
				listados(seccion, tipo);				
			}
			this.setLocationRelativeTo(null);
			this.setVisible(true);
			this.setTitle("Seccion: "+seccion.getNumero()+" Profesor: "+seccion.getProfesor().getTituloProfesor()+". "+seccion.getProfesor().getNombre()+" "+seccion.getProfesor().getApellido());
			pack();
			setSize(800, 400);
			
		} catch (Exception e) {
		    //add your error handling code here
			e.printStackTrace();
		}
	}

}
